home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1996 Christmas / macformat-045.iso / Shareware Plus / Utilities / Alpha ƒ / LaTeX / latex 2e / latex_guide.tex < prev    next >
Encoding:
Text File  |  1996-08-01  |  75.7 KB  |  1,788 lines  |  [TEXT/ALFA]

  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. % File:      latex_guide.tex
  3. % Author:    Tom Scavo  <trscavo@syr.edu>
  4. % Requires:  graphics.sty, alltt.sty, latex_defs.sty
  5. % Summary:   User's Guide to accompany the Alpha LaTeX macros 
  6. % Note:      Be sure to typeset this file THREE TIMES!
  7. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  8.  
  9. \documentclass{report}
  10. \usepackage{html,htmllist}
  11. \usepackage{graphics}
  12. \usepackage{alltt}
  13. \usepackage{latex_defs}
  14.  
  15. % Table of contents:
  16. \setcounter{tocdepth}{3}
  17.  
  18. % Headers and footers:
  19. \pagestyle{headings}
  20.  
  21. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  22. \begin{document}
  23.  
  24. \title{
  25.     \includegraphics{logo.eps}  \\[6ex]
  26.     User's Guide  \\
  27.     \Alpha\ \LaTeX\ Macros \\
  28.     {\large Version~3.2}
  29. }
  30. \author{
  31.     Tom Scavo  \\
  32.     \htmladdnormallink{\eaddress{trscavo@syr.edu}}{mailto:trscavo@syr.edu}
  33. }
  34. \date{July 1996}
  35. \maketitle
  36.  
  37. \tableofcontents
  38.  
  39. \chapter{Overview}
  40.  
  41. Welcome to the \Alpha\ \LaTeX\ macros, a set of Tcl macros for the 
  42. text editor \Alpha\ designed to ease the input and processing of 
  43. \LaTeX\ documents on the Macintosh.
  44.  
  45. \section{Features}
  46.  
  47. \begin{itemize}
  48.     \item \LaTeXe-compatible
  49.  
  50.     \item automatically invokes \TeX\ mode when opening or saving a 
  51.     \filetype{tex} document
  52.  
  53.     \item single-keystroke typesetting of \LaTeX\ documents (will even 
  54.     typeset an untitled or unsaved window, or portions of windows)
  55.  
  56.     \item works with all known Macintosh \TeX\ implementations, 
  57.     including \OzTeX, \Textures, \CMacTeX, Euro-\OzTeX, 
  58.     \DirectTeX, and \DirectTeX~Pro
  59.  
  60.     \item dynamic menus and menu items
  61.  
  62.     \item color syntax highlighting of \LaTeX\ keywords
  63.  
  64.     \item intelligent treatment of highlighted text (called ``wrapping'')
  65.  
  66.     \item easily creates \LaTeX\ document templates, complete with 
  67.     indentation and tab stops
  68.  
  69.     \item handy text-to-\LaTeX\ conversion utilities
  70.  
  71.     \item quickly navigate and select commands, environments, 
  72.     subsections, sections, and chapters
  73.  
  74.     \item ``smart quotes'' and ``smart dots'' with on-the-fly escape; 
  75.     ``smart'' subscripts and superscripts as well
  76.  
  77.     \item command-double-click feature that chases references and 
  78.     citations, or opens \cmd{input} and \cmd{include} files; also 
  79.     opens \cmd{bibliography}, \cmd{includegraphics}, \cmd{usepackage}, 
  80.     and \cmd{documentclass} files
  81.  
  82.     \item a handy mark menu for navigating large \LaTeX\ documents
  83.  
  84.     \item follows closely the terminology and organization of Leslie 
  85.     Lamport's \textsl{\LaTeX: A Document Preparation System} [Reading, 
  86.     MA: Addison-Wesley, 1985, 1994 (ISBN 0-201-52983-1)]
  87. \end{itemize}
  88.  
  89. \section{Documentation}
  90. \label{sec:docs}
  91.  
  92. Pull down the System help menu (under the question mark on the 
  93. right-hand side of \Alpha's menu bar) and choose the command 
  94. \acmd{LaTeX Help}.  This will open a new window with a brief 
  95. introduction to the \Alpha\ \LaTeX\ macros.  From this window, you can 
  96. access numerous other documentation files using \Alpha's built-in 
  97. hypertext capability.  Just click on any of the following links in 
  98. \acmd{LaTeX Help}:
  99. \begin{flushleft}
  100.     \begin{tabular}{@{}l@{}}
  101.         \textbf{User's Guide:}  an introduction to the \Alpha\ \LaTeX\ macros 
  102.         (this file)  \\
  103.         \textbf{\LaTeX\ Menus:}  commands and bindings (organized by menu)  \\
  104.         \textbf{\LaTeX\ Key Bindings:} commands and bindings (organized by 
  105.         command key)  \\
  106.     \end{tabular}
  107. \end{flushleft}
  108. Note that the User's Guide is available in both \LaTeX\ and HTML 
  109. format.  (The latter was created by the program \filespec{latex2html} 
  110. written by Nikos Drakos.)
  111.  
  112. In addition to these local documents, if you have an Internet 
  113. connection, there is also the Web page
  114. \begin{flushleft}
  115.     \begin{tabular}{@{}l@{}}
  116.         \textbf{An Introduction to \LaTeX\ and \AmS-\LaTeX}  \\
  117.         \htmladdnormallink{\url{http://web.syr.edu/\~{}trscavo/latex.html}}
  118.                           {\begin{rawhtml}http://web.syr.edu/~trscavo/latex.html\end{rawhtml}}
  119.     \end{tabular}
  120. \end{flushleft}
  121. To visit this Web site, just click on the corresponding link in 
  122. \acmd{LaTeX Help}.
  123.  
  124. \section{\LaTeXe}
  125.  
  126. Beginning with version~2.2, the \Alpha\ \LaTeX\ macros support 
  127. \LaTeXe, a superset of \LaTeX~2.09.  \LaTeXe\ will typeset a 2.09 
  128. document automatically, using what is called ``compatibility mode''.  
  129. Most of the \LaTeX~2.09 commands and environments have been preserved 
  130. in \twoe, making the transition from 2.09 to \twoe\ relatively 
  131. painless (from the user's point of view, at least).
  132.  
  133. For those who have not yet upgraded to \LaTeXe, the old \LaTeX~2.09 
  134. macros are still available.  Just choose \acmd{LaTeX 2.09} on the 
  135. \amenu{Install} submenu of the \amenu{Config} menu and follow the 
  136. prompts to install the old version.  Note, however, that all present 
  137. and future enhancements to the \Alpha\ \LaTeX\ macros will be directed 
  138. towards \LaTeXe\ users, and so you are encouraged to upgrade your 
  139. \TeX\ implementation as soon as possible.
  140.  
  141.  
  142. \section{Installation}
  143.  
  144. \Alpha\ is configured to use the \LaTeX\ macros right out of the box, 
  145. so there is no installation process per se.  However, there are a 
  146. number of flags and variables that control the inner workings of 
  147. \filespec{latex.tcl} that may be changed at the user's discretion.  
  148.  
  149. The following \TeX\ mode flags and variables may be accessed by 
  150. pulling down the \amenu{Config} menu and opening the \acmd{Flags} 
  151. dialog on the \amenu{Current Mode} submenu.  See the \acmd{Alpha 
  152. Manual} (on the System help menu under the question mark) for more 
  153. information about \Alpha's global variables.
  154.  
  155. \subsection{Flags}
  156. \label{sec:flags}
  157.  
  158. % {\renewcommand*{\descriptionlabel}[1]{\hspace\labelsep \normalfont #1}
  159. \begin{description}
  160.     \item[\acmd{buildPkgsSubmenu}] The \amenu{Packages} submenu is an 
  161.     optional submenu containing a list of all \filetype{tex} and 
  162.     \filetype{sty} files in your \TeX\ search path.  Choosing a filename 
  163.     from the list inserts the corresponding \cmd{usepackage} command 
  164.     into the preamble of the current document.  By default, however, the 
  165.     \amenu{Packages} submenu is not built when the \LaTeX\ macro package 
  166.     is loaded.  To build this submenu on-the-fly, enable the flag 
  167.     \acmd{buildPkgsSubmenu} as described above, and then choose 
  168.     \acmd{Rebuild Documents Submenu} on the \amenu{Documents} submenu (see 
  169.     section~\ref{sec:documentsSubmenu}).  Thereafter, the 
  170.     \amenu{Packages} submenu will be built automatically along with the 
  171.     \LaTeX\ menu.
  172.  
  173.     \item[\acmd{deleteObjNoisily}] One of the basic \filespec{latex.tcl} 
  174.     operations is to insert an object into the current document.  If, at 
  175.     the time the insertion command is issued, there is a selection 
  176.     (i.e., text is highlighted), then the program behaves differently 
  177.     depending on the value of the flag \acmd{deleteObjNoisily}.  If set 
  178.     to true, the user will be prompted before any selected text is 
  179.     deleted.  If, on the other hand, this flag is false, then the 
  180.     selection is replaced quietly and without warning (although it may 
  181.     be undone).  By default, \acmd{deleteObjNoisily} is set to true.  
  182.     NOTE: Not all objects are ``inserted'' into the document since 
  183.     sometimes there is an attempt to ``wrap'' the current selection.  
  184.     See section~\ref{sec:basicOps} for more information.
  185.  
  186.     \item[\acmd{deleteEnvNoisily}] Before an environment is inserted 
  187.     into the document, the program checks to see if there is a 
  188.     selection.  If so, and the flag \acmd{deleteEnvNoisily} is set to 
  189.     true, the user is asked whether or not the current selection should 
  190.     be replaced; if false, the current selection is deleted without 
  191.     warning.  Note that the default value of \acmd{deleteEnvNoisily} has 
  192.     been set to true.  Like objects, environments may wrap, so sometimes 
  193.     the current selection is treated differently.  See 
  194.     section~\ref{sec:basicOps} for details.
  195.  
  196.     \item[\acmd{promptNoisily}] Some environment commands prompt the 
  197.     user for input.  As mentioned below, if \acmd{useStatusBar} is 
  198.     set to true, the prompt is displayed on the thin status bar at the 
  199.     bottom of the screen.  This is less obtrusive than a dialog, but may 
  200.     go unnoticed at first, so if \acmd{promptNoisily} is set to true 
  201.     (which it is, by default) and \acmd{useStatusBar} is enabled, 
  202.     the program beeps prior to displaying the prompt.  You can turn off 
  203.     this annoying sound by invoking the \acmd{Flags} command on the 
  204.     \amenu{Current Mode} submenu of the \amenu{Config} menu and 
  205.     removing the check on \acmd{promptNoisily}.
  206.  
  207.     \item[\acmd{runTeXInBack}] If true, typesetting will occur in the 
  208.     background.  This flag is false by default.
  209.  
  210.     \item[\acmd{searchNoisily}] Many commands cause 
  211.     \filespec{latex.tcl} to search the current document.  If a 
  212.     search fails, and \acmd{searchNoisily} is set to true, the 
  213.     program displays a message on the status bar and beeps.  If, on 
  214.     the other hand, \acmd{searchNoisily} is set to false, only 
  215.     the message is displayed.  By default, \acmd{searchNoisily} 
  216.     is set to true.
  217.  
  218.     \item[\acmd{smartDots}] By default, \filespec{latex.tcl} 
  219.     replaces three consecutively typed dots (\texttt{...}) with the 
  220.     \LaTeX\ command \cmd{ldots}.  To escape the effect of 
  221.     \acmd{smartDots}, press the \key{Delete} key on-the-fly.
  222.  
  223.     \item[\acmd{smartQuotes}] If this flag is set to true, pressing the 
  224.     single quote key \key{\straightquote} will generate ` or ' 
  225.     automatically depending on the context.  Similarly, pressing the 
  226.     double quote key \key{\texttt{"}} generates `` or '', whichever is 
  227.     required.  Set \acmd{smartQuotes} to false if you want the single 
  228.     and double quote keys to insert \straightquote and \texttt{"} 
  229.     literally, or press the \key{Delete} key to escape the effect of 
  230.     \acmd{smartQuotes} on-the-fly.
  231.  
  232.     \item[\acmd{smartScripts}] When this flag is enabled (which it is by 
  233.     default), the \verb|^| and \verb|_| keys on a U.S. keyboard are 
  234.     bound to the commands \acmd{superscript} and \acmd{subscript}, 
  235.     respectively, on the \amenu{Formulas} submenu of the \LaTeX\ menu 
  236.     (see section~\ref{sec:formulasSubmenu}).  Press the \key{Delete} key 
  237.     to escape the effect of \acmd{smartScripts} on-the-fly.
  238.  
  239. %     \item[\acmd{useBoxMacro}] If true, the body of a figure environment 
  240. %     includes a call to the box-making macro stored in the variable 
  241. %     \acmd{boxMacroName} (see section~\ref{sec:variables} below); if 
  242. %     false, the body of a figure environment is left blank, unless there 
  243. %     is a current selection, in which case the selection is wrapped.
  244.  
  245.     \item[\acmd{useBrackets}] In \LaTeX, the \env{displaymath} 
  246.     environment is equivalent to \cmd{[}\ldots\cmd{]}.  If you prefer to 
  247.     use the latter, set \acmd{useBrackets} to true.  By default, 
  248.     \acmd{useBrackets} is set to false, that is, the \env{displaymath} 
  249.     environment is used to construct multi-line math displays.  Note: By 
  250.     default, \filespec{latex.tcl} \emph{always} uses 
  251.     \cmd{[}\ldots\cmd{]} inline (unless \acmd{useDollarSigns} is set to 
  252.     true---see below).
  253.  
  254.     \item[\acmd{useDollarSigns}] Support is provided for both the \TeX\ 
  255.     and \LaTeX\ methods of invoking inline math mode (see the 
  256.     \amenu{Math Modes} submenu in section~ \ref{sec:mathModeSubmenu} for 
  257.     the various options), but only one of these is bound to command keys 
  258.     (namely, \key{Ctl Cmd M} and \key{Ctl Opt Cmd M}, by default).  This 
  259.     is what the flag \acmd{useDollarSigns} does.  If set to true, 
  260.     \filespec{latex.tcl} uses dollar signs to delimit inline math mode 
  261.     (\verb|$|\ldots\verb|$| and \verb|$$|\ldots\verb|$$|), whereas if it 
  262.     is false, \LaTeX\ notation will be used (\cmd{(}\ldots\cmd{)} and 
  263.     \cmd{[}\ldots\cmd{]}).  By default, \acmd{useDollarSigns} is set to 
  264.     false---the \LaTeX\ way of doing things.
  265.  
  266.     \item[\acmd{useStatusBar}] This flag determines whether or 
  267.     not the status bar is used when prompting for user input.  (The 
  268.     status bar is a long, thin message area at the bottom of your 
  269.     screen.)  Use of \Alpha's status bar is enabled in \TeX\ mode, by 
  270.     default.  See the related flag \acmd{promptNoisily} above.
  271.  
  272.     \item[\acmd{wordWrap}] If this flag is set to true, the program 
  273.     automatically inserts a carriage return as the cursor nears the end 
  274.     of a line (the length of which is defined by the variable 
  275.     \acmd{fillColumn} described in section~\ref{sec:variables} below); 
  276.     otherwise, the line extends indefinitely to the right (until the 
  277.     \key{Return} key is pressed, of course).  By default, 
  278.     \acmd{wordWrap} is turned on in \TeX\ mode.  See the \acmd{Alpha 
  279.     Manual} on the System help menu (under the question mark) for more 
  280.     information.
  281. \end{description}%}
  282.  
  283. \subsection{Variables}
  284. \label{sec:variables}
  285.  
  286. % {\renewcommand*{\descriptionlabel}[1]{\hspace\labelsep \normalfont #1}
  287. \begin{description}
  288.     \item[\acmd{boxMacroNames}] This \TeX\ mode variable contains a list 
  289.     of names of box-making macros used in the body of a figure 
  290.     environment.  The standard \LaTeX\ commands \cmd{includegraphics} 
  291.     and \cmd{includegraphics\ttstar} (both part of the \LaTeXe\ 
  292.     \pkg{graphics} package) are included in this list by default.
  293.  
  294.     \item[\acmd{citeCommands}] Any command listed as a ``cite'' command 
  295.     is command-double-clickable (see section~\ref{sec:dblClicking}).  
  296.     The standard \LaTeX\ commands \cmd{cite} and \cmd{nocite} are 
  297.     included in this list by default.
  298.  
  299.     \item[\acmd{fillcolumn}, \acmd{leftFillColumn}] See the 
  300.     \acmd{Alpha Manual} on the System help menu (under the question 
  301.     mark) for more information about these variables.
  302.  
  303.     \item[\acmd{funcExpr}] In \TeX\ mode, \acmd{funcExpr} is a regular 
  304.     expression used to search for a subsection header (see the commands 
  305.     \acmd{Next Subsection} and \acmd{Prev Subsection} described in 
  306.     section~\ref{sec:gotoSubmenu}).
  307.  
  308.     \item[\acmd{funcExprAlt}] In \TeX\ mode, \acmd{funcExprAlt} is a 
  309.     regular expression used to search for a section header (see the 
  310.     commands \acmd{Next Section} and \acmd{Prev Section} described in 
  311.     section~\ref{sec:gotoSubmenu}).
  312.  
  313.     \item[\acmd{prefixString}] This variable is used in 
  314.     conjunction with the \acmd{Comment Line} command on \Alpha's 
  315.     \amenu{Text} menu.  In \TeX\ mode, this string is set to 
  316.     ``\verb*|% |'' by default, which makes \acmd{comment line} very 
  317.     useful for commenting out large blocks of \LaTeX\ code.
  318.  
  319.     \item[\acmd{refCommands}] Any command listed as a ``ref'' command is 
  320.     command-double-clickable.  The standard \LaTeX\ commands \cmd{ref} 
  321.     and \cmd{pageref} are included in this list by default.
  322.  
  323.     \item[\acmd{wordBreak}, \acmd{wordBreakPreface}] These variables 
  324.     hold regular expressions that define a ``word'' in \TeX\ mode.  (A 
  325.     ``word'' is any text string that is double-clickable.)  See the 
  326.     \acmd{Alpha Manual} on the System help menu (under the question 
  327.     mark) for more information about these variables.
  328.  
  329.     \item[\acmd{wrapBreak}, \acmd{wrapBreakPreface}] These variables are 
  330.     similar to \acmd{wordBreak} and \acmd{wordBreakPreface} above, 
  331.     except that they are used by \Alpha\ to wrap lines, not delineate 
  332.     words.  See the \acmd{Alpha Manual} on the System help menu (under 
  333.     the question mark) for more information.
  334. \end{description}%}
  335.  
  336. \subsection{Tips and tricks}
  337.  
  338. A useful installation trick that you might want to put in your 
  339. \filespec{prefs.tcl} file (opened by choosing \acmd{Edit Prefs} 
  340. on the \amenu{Global} submenu of the \amenu{Config} menu) 
  341. is the following key binding:
  342. \begin{alltt}
  343.    bind \straightquote{}n\straightquote <cs> \{dummyTeX; newLaTeXDocument\}
  344. \end{alltt}
  345. With this binding, it's easy to bring up a new \TeX\ document no 
  346. matter where you are or what you're doing.  Regardless of the file 
  347. you're currently editing, simply press \key{Shf Cmd N} to open a new 
  348. \LaTeX\ document (see the \acmd{New Document} command in 
  349. section~\ref{sec:documentsSubmenu} for details).
  350.  
  351. \Alpha\ is completely customizable, but it's not a good idea to 
  352. modify its Tcl files directly.  Instead, put your modifications in 
  353. preferences files designed specifically for this purpose.  Besides 
  354. the global preferences file \filespec{prefs.tcl} mentioned above, 
  355. there are also mode-specific preferences files.  \TeX\ mode, for 
  356. instance, has its own prefs file called \filespec{TeXPrefs.tcl}.  To 
  357. edit this prefs file, open a \filetype{tex} file and choose the 
  358. command \acmd{Edit Prefs} on the \amenu{Current Mode} submenu of the 
  359. \amenu{Config} menu.  All \TeX-related modifications should be 
  360. placed in this preferences file.
  361.  
  362. Note: All preferences files are stored in the Preferences folder in 
  363. the System Folder.  They are not touched when you upgrade your version 
  364. of \Alpha.
  365.  
  366. It's relatively easy to modify the \LaTeX\ menu to suit your needs.  
  367. Suppose, for example, you've written a handy Tcl proc called 
  368. \acmd{myUtility} that you'd like to put on the \LaTeX\ menu.  To do 
  369. this, copy the proc \acmd{latexUtilitiesSubmenu} and its helper proc 
  370. \filespec{latexUtilsSubmenuFilter} from \filespec{latexMenu.tcl} to 
  371. \filespec{TeXPrefs.tcl} and add your new utility to the definition 
  372. of the \amenu{LaTeX Utilities} submenu:
  373. \begin{alltt}
  374.   proc latexUtilitiesSubmenu \{\} \{
  375.     return \{menu -M TeX -n \{LaTeX Utilities\} -m -p latexUtilsSubmenuFilter \{
  376.       \{<U<O/CChoose Command\ldots\}
  377.       "(-"
  378.       \{<I/cInsert Literal Tab\}
  379.       \{Insert Tab Stop\}
  380.       "(-"
  381.       \{<O/cDelete Tab Stops\}
  382.       \{Delete Comments\}
  383.       "(-"
  384.       {\normalsize{}\textbf{\{My Utility\}}}
  385.       "(-"
  386.       \{Convert Quotes\}
  387.       \{Convert Dollar Signs\}
  388.       "(-"
  389.       \{Short LaTeX Menu\}
  390.       \}
  391.     \}
  392.   \}
  393.   
  394.   proc latexUtilsSubmenuFilter \{submenu item\} \{
  395.     switch $item \{
  396.       \{Choose Command\}  \{set func \{chooseCommand [getLaTeXMenu]\}\}
  397.       \{Insert Literal Tab\}  \{set func "insertLiteralTab"\}
  398.       \{Insert Tab Stop\}  \{set func "insertTabStop"\}
  399.       \{Insert Reference\}  \{set func "insertReference"\}
  400.       \{Delete Tab Stops\}  \{set func "deleteTabStops"\}
  401.       \{Delete Comments\}  \{set func "deleteComments"\}
  402.       {\normalsize{}\textbf{\{My Utility\}  \{set func "myUtility"\}}}
  403.       \{Convert Quotes\}  \{set func "convertQuotes"\}
  404.       \{Convert Dollar Signs\}  \{set func "convertDollarSigns"\}
  405.       \{Short LaTeX Menu\}  \{set func "toggleLaTeXMenus"\}
  406.       default \{set func $item\}
  407.     \}
  408.     eval $func
  409.   \}
  410. \end{alltt}
  411. Finally, add the lines
  412. \begin{verbatim}
  413.   eval [latexUtilitiesSubmenu]
  414.   latexUtilsSubmenuFilter
  415. \end{verbatim}
  416. to \filespec{TeXPrefs.tcl}.  These lines rebuild the \amenu{LaTeX 
  417. Utilities} submenu and load the new helper proc.  That's all there is 
  418. to it!
  419.  
  420.  
  421. \section{Basic operations}
  422. \label{sec:basicOps}
  423.  
  424. The \Alpha\ \LaTeX\ macros revolve around two basic operations called 
  425. \acmd{insertObject} and \acmd{wrapObject}.  Basically, 
  426. \acmd{insertObject} is a call to the primitive procedure 
  427. \acmd{insertText} preceded by the automatic deletion of previously 
  428. selected text (this behavior is easily changed, however, by resetting 
  429. the flag \acmd{deleteObjNoisily} described in 
  430. section~\ref{sec:flags}).  For example, if there is no current 
  431. selection, choosing the command \acmd{alpha} from the \amenu{Greek} 
  432. submenu of the \LaTeX\ menu inserts the \LaTeX\ command \cmd{alpha} at 
  433. the insertion point; otherwise, if there is a selection, it is 
  434. replaced with the string ``\cmd{alpha}''.  In other words, 
  435. \acmd{insertObject} works just like the familiar \acmd{Paste} command 
  436. on the \amenu{Edit} menu.  It turns out that a large number of 
  437. commands in \filespec{latex.tcl} rely on \acmd{insertObject}, but 
  438. sometimes it's faster to type the desired \LaTeX\ command directly.  
  439. (Even faster is to use the corresponding command keys, but more on 
  440. that later.)  On the other hand, if you forget the syntax of a 
  441. particular \LaTeX\ command, it's sometimes easier to look it up on the 
  442. \LaTeX\ menu than it is in a reference manual.
  443.  
  444. The complementary operation to \acmd{insertObject} is called 
  445. \acmd{wrapObject}.  The difference between the two is the way the 
  446. latter treats the current selection, that is, \acmd{wrapObject} 
  447. inserts its argument at the insertion point (just like 
  448. \acmd{insertObject}), but if there is a selection, \acmd{wrapObject} 
  449. cuts it out (without effecting the state of the Clipboard) and inserts 
  450. it in the middle of the chosen command.  For example, consider the 
  451. \LaTeX\ menu command \acmd{footnote} on the \amenu{Miscellaneous} 
  452. submenu (see section~\ref{sec:miscSubmenu}).  This command inserts the 
  453. string ``\cmdarg{footnote}{}$\bullet$'' (without the double quotes, of 
  454. course) into the document, positioning the insertion point between the 
  455. pair of braces.  The user then types the text to be footnoted and 
  456. presses the \key{Tab} key, after which the tab stop macro finds (and 
  457. deletes) the bullet $\bullet$ at the end of the string.  (Note: Use 
  458. \key{Opt Tab} to insert a literal tab character into the document.)  
  459. On the other hand, if a selection exists at the time the 
  460. \acmd{footnote} command is issued, the selection itself is surrounded 
  461. by \LaTeX's \cmd{footnote} command, and the insertion point is brought 
  462. to the end of the selection automatically.  Some commands, for better 
  463. or worse, even go so far as to insert the selection into one of 
  464. several competing positions within the command string.  The 
  465. \acmd{fraction} command on the \amenu{Formulas} submenu 
  466. (section~\ref{sec:formulasSubmenu}) is a good example of this type of 
  467. behavior.  It assumes the current selection (if there is one) is the 
  468. numerator of the fraction to be typeset, cutting and pasting 
  469. accordingly.
  470.  
  471. The concept of wrapping is carried one step further in the case of 
  472. environments.  Suppose you want to center an existing \env{tabular} 
  473. environment, for example.  Just select the \env{tabular} environment 
  474. to be centered and choose the \acmd{center} command from the 
  475. \amenu{Environments} submenu on the \LaTeX\ menu (see 
  476. section~\ref{sec:envSubmenu}).  The resulting \env{center} environment 
  477. will completely surround the existing \env{tabular} environment, 
  478. indenting the latter one tab stop to the right.
  479.  
  480. Not all environments wrap, however.  Those environments whose body is 
  481. very structured (such as \env{enumerate}, \env{itemize}, 
  482. \env{description}, \env{thebibliography}, \env{tabular}, \env{array}, 
  483. \env{eqnarray}, and \env{eqnarray*}) do not.  Instead, these 
  484. environments simply insert text into the document.  If there happens 
  485. to be a selection at the time one of these commands is issued, an 
  486. alert appears asking if the selection should be deleted.  To turn this 
  487. alert off, simply toggle the flag \acmd{deleteEnvNoisily} (see 
  488. section~\ref{sec:flags}) in the \acmd{Flags} dialog on the 
  489. \amenu{Current Mode} submenu on the \amenu{Config} menu.
  490.  
  491.  
  492. \section{Whitespace}
  493.  
  494. Before continuing, let me say a few words about whitespace.  In 
  495. virtually all cases, superfluous whitespace in command strings has 
  496. been deleted.  For example, objects inserted with \acmd{insertObject} 
  497. (a sizable portion of \filespec{latex.tcl}'s functionality) do not 
  498. routinely insert a trailing space character.  Instead, the user must 
  499. decide whether or not space should immediately follow a particular 
  500. \LaTeX\ control word, since sometimes it's needed and sometimes it's 
  501. not.  Setting \acmd{indentOnCR} in the \acmd{Flags} dialog (on the 
  502. \amenu{Global} submenu of the \amenu{Config} menu) to false also 
  503. prevents a lot of extraneous whitespace from being inserted into your 
  504. document\ldots but then it won't look so good!
  505.  
  506.  
  507. \section{Bugs}
  508. \label{sec:bugs}
  509.  
  510. Comments, suggestions, and bug reports are certainly welcome.  In 
  511. fact, many of the improvements and features in this version of 
  512. \filespec{latex.tcl} were suggested by \Alpha\ \LaTeX\ users.  (Some of 
  513. them even sent me code!)  Please contact
  514. \begin{flushleft}
  515.     \begin{tabular}{@{\hspace{1.5em}}ll@{}}
  516.         Tom Scavo 
  517.         & 
  518.         \htmladdnormallink{\eaddress{trscavo@syr.edu}}{mailto:trscavo@syr.edu}
  519.     \end{tabular}
  520. \end{flushleft}
  521. % \begin{htmllist}
  522. %     \htmlitemmark{RedBall}
  523. %     \item[Tom Scavo] \eaddress{trscavo@syr.edu}
  524. % \end{htmllist}
  525. with your ideas and feedback.
  526.  
  527. The following are known bugs in \filespec{latex.tcl}:
  528. \begin{itemize}
  529.     \item When wrapping, the \acmd{frac} command does not remove redundant 
  530.     parentheses.
  531.  
  532.     \item The \acmd{options} commands assumes the \cmd{documentclass} 
  533.     command already has an optional parameter (which it does if the 
  534.     document template was inserted via the \LaTeX\ menu).  Moreover, the 
  535.     \acmd{options} command does not check for duplicate options.
  536.  
  537.     \item The commands \acmd{Prev Command Select With Args} and 
  538.     \acmd{Next Command Select With Args} will not select \LaTeX\ commands 
  539.     whose argument(s) contain braces.
  540.  
  541.     \item  The \amenu{Goto} submenu could be better organized (and will 
  542.     be, if I can ever think of a good set of command keys!).
  543.  
  544.     \item The results of \acmd{Delete Comments} can not be undone (but it 
  545.     works!).
  546.     
  547.     \item  The \acmd{Open Any TeX File} command on the \amenu{Typeset} 
  548.     submenu does not open the correct folder.
  549.     
  550.     \item  The commands \acmd{Large}, \acmd{LARGE}, and \acmd{Huge} do 
  551.     not work as expected.
  552.     
  553.     \item  Double-clicking in \TeX\ filesets doesn't work.
  554.     
  555.     \item  The at-symbol @ is not recognized as a \LaTeX\ command 
  556.     character in \filetype{sty} files.
  557.     
  558.     \item The command keys for \acmd{subscript} and \acmd{superscript} 
  559.     are not compatible with international keyboards.
  560.     
  561.     \item  The marking algorithm should ignore comments.
  562. \end{itemize}
  563.  
  564.  
  565. \section{Acknowledgments}
  566.  
  567. Numerous people have made significant contributions to the \Alpha\ 
  568. \LaTeX\ macros.  You will find their names and initials scattered 
  569. throughout this and other \Alpha\ documents.  
  570. Tom~Pollard 
  571. \htmladdnormallink{\eaddress{pollard@cucbs.chem.columbia.edu}}
  572.                   {mailto:pollard@cucbs.chem.columbia.edu} 
  573. and Vince~Darley 
  574. \htmladdnormallink{\eaddress{vince@das.harvard.edu}}
  575.                   {mailto:vince@das.harvard.edu} 
  576. have been especially helpful and deserve a lot of credit.  Of course, 
  577. none of this would have been possible without the support and 
  578. encouragement of \Alpha's author,
  579. \begin{flushleft}
  580.     \begin{tabular}{@{\hspace{1.5em}}ll@{}}
  581.         Pete~Keleher 
  582.         & 
  583.         \htmladdnormallink{\eaddress{keleher@cs.umd.edu}}{mailto:keleher@cs.umd.edu}
  584.     \end{tabular}
  585. \end{flushleft}
  586. whom I heartily thank.
  587.  
  588.  
  589. \chapter{Menus}
  590.  
  591. \section{The \LaTeX\ menu}
  592.  
  593. Upon entering \TeX\ mode, either 
  594. \begin{enumerate}
  595.     \item \emph{manually} (by choosing \acmd{TeX} from the pop-up mode 
  596.     menu on the status bar at the bottom of your screen), or
  597.  
  598.     \item \emph{automatically} (whenever a \filetype{tex} or 
  599.     \filetype{sty} file is opened or saved),
  600. \end{enumerate}
  601. a new menu appears in the menu bar.  The \LaTeX\ menu provides access 
  602. to scores of procedures loaded automatically the first time \TeX\ mode 
  603. is entered.
  604.  
  605. There are two \LaTeX\ menus to choose from, one short and the other 
  606. long.  You get a short menu by default.  To install the long menu, 
  607. simply choose the checkable menu item \acmd{Short LaTeX Menu} from the 
  608. \amenu{LaTeX Utilities} submenu (see 
  609. section~\ref{sec:latexUtilsSubmenu}) to remove the check mark.  To 
  610. reinstall the short menu, choose \acmd{Short LaTeX Menu} again.
  611. \label{pg:shortLaTeXMenu}
  612.  
  613. The \LaTeX\ menu follows closely the organization and terminology of 
  614. Lamport's \textsl{\LaTeX: A Document Preparation System} [second 
  615. edition, Addison-Wesley, 1994], especially chapter~3.  Many people 
  616. agree that the \textsl{\LaTeX} book is still the definitive \LaTeX\ 
  617. reference.  In conjunction with \textsl{The \LaTeX\ Companion} by 
  618. Goossens, Mittlebach, and Samarin [Addison-Wesley, 1994 (ISBN 
  619. 0-201-54199-8)], these two books constitute the ``official'' \LaTeXe\ 
  620. documentation.  These books, as well as Knuth's classic \textsl{\TeX 
  621. book} [Addison-Wesley, 1986 (ISBN 0-201-13448-9)], should be on every 
  622. serious \LaTeX\ user's desk.
  623.  
  624. The \LaTeX\ menu is organized into four parts: general commands, 
  625. document-related commands, paragraph mode commands (that is, text 
  626. commands), and math mode commands.  Each group of commands is 
  627. separated by a thin grey line on the \LaTeX\ menu.  The order of the 
  628. commands on any given submenu is significant insofar as possible.  For 
  629. example, the various commands on the \amenu{Environments} submenu 
  630. mirror the corresponding command keys, while other submenus follow the 
  631. ordering found in the \textsl{\LaTeX} book.  We'll try to point out 
  632. these organizational aids as we go along.
  633.  
  634. A brief description of each available command follows.  See  
  635. section~\ref{sec:docs} for pointers to other help documents.
  636.  
  637.  
  638. \subsection{General commands}
  639.  
  640. \subsubsection{\amenu{Typeset} submenu}
  641.  
  642. \begin{commands}
  643.     \acmd{Typeset file.tex} & \key{Cmd T} \\
  644.     \acmd{View file.dvi} & \key{Shf Cmd V} \\
  645.     \acmd{Print file.dvi} & \key{Shf Cmd P}
  646. \end{commands}
  647. If you use \Textures, \OzTeX, \CMacTeX, or \DirectTeX, you'll be happy 
  648. to know that \Alpha\ and \LaTeX\ work well together.  To typeset the 
  649. file you're currently editing in \Alpha, simply choose \acmd{Typeset} 
  650. from the \amenu{Typeset} submenu or press \key{Cmd T}.  \Alpha\ first 
  651. checks to make sure that any changes to the file have been saved; if 
  652. not, the user is prompted for the appropriate action.  Note that it is 
  653. not necessary to save the document to process the window.  Just click 
  654. the ``No'' button when asked to save the current window, whereupon 
  655. \Alpha\ will pass the contents of the window to the \LaTeX\ 
  656. application and typeset the file automatically.  If the flag 
  657. \acmd{runTeXInBack} is set to true, typesetting will occur in the 
  658. background.
  659.  
  660. The inverse operation, switching from \LaTeX\ to \Alpha, depends on 
  661. which \LaTeX\ application you're using.  \OzTeX\ users, for example, 
  662. simply choose the \acmd{Edit} command from \OzTeX's \amenu{Edit} menu 
  663. or press \key{Cmd E} to return to \Alpha.  (By the way, typing `e' in 
  664. response to a \LaTeX\ error message in the \OzTeX\ window throws you 
  665. back into \Alpha\ at the offending line.  The same trick works in 
  666. \CMacTeX\ and \DirectTeX, too.)
  667.  
  668. \begin{commands}
  669.     \acmd{Typeset Clipboard} & \key{Shf Cmd T} \\
  670.     \acmd{Typeset Selection} &
  671. \end{commands}
  672. To typeset the contents of the Clipboard, choose the \acmd{Typeset 
  673. Clipboard} command from the \amenu{Typeset} submenu or press \key{Shf 
  674. Cmd T}.  This command is handy for typesetting and viewing \TeX\ or 
  675. \LaTeX\ code copied to the Clipboard from other applications such as 
  676. terminal emulators or e-mail clients.
  677.  
  678. It's also possible to typeset a portion of a document.  Simply select 
  679. (i.e., highlight) the \LaTeX\ code you'd like to typeset and choose 
  680. \acmd{Typeset Selection} from the \amenu{Typeset} submenu.  \Alpha\ will 
  681. construct a temporary document from the current document's preamble 
  682. and the highlighted text, and pass this virtual document to the \TeX\ 
  683. application to be typeset automatically.
  684.  
  685. \begin{commands}
  686.     \acmd{dvips file.dvi} & \\
  687.     \acmd{Open file.ps} & \\
  688.     \acmd{View file.ps} & \\
  689.     \acmd{Print file.ps} &
  690. \end{commands}
  691. To convert a \filetype{dvi} file to a \filetype{ps} file, choose the 
  692. \acmd{dvips} command on the \amenu{Typeset} submenu.  Assuming you 
  693. have the necessary applications installed on your Macintosh, choose 
  694. \acmd{View file.ps} or \acmd{Print file.ps} to view or print the 
  695. resulting \filetype{ps} file.
  696.  
  697. \textbf{Tip:} To see what applications are currently supported for 
  698. viewing or printing \filetype{ps} files, type
  699. \begin{verbatim}
  700.   array names viewPSAppSig
  701. \end{verbatim}
  702. or
  703. \begin{verbatim}
  704.   array names printPSAppSig
  705. \end{verbatim}
  706. in the Tcl shell.  (To invoke the shell, choose the \acmd{Shell} 
  707. command from \Alpha's \amenu{File} menu or press \key{Cmd Y}.)
  708.  
  709. Once a \filetype{ps} file has been created, you may open a window 
  710. containing the raw PostScript code by choosing \acmd{Open file.ps} on 
  711. the \amenu{Typeset} submenu.  To see this command, press the \key{Opt} 
  712. key while the \amenu{Typeset} submenu is down.
  713.  
  714. \begin{commands}
  715.     \acmd{bibtex file.aux} & \\
  716.     \acmd{Open file.bbl} & \\
  717.     \acmd{makeindex file.idx} & \\
  718.     \acmd{Open file.ind} &
  719. \end{commands}
  720. To run \BibTeX\ or \MakeIndex, choose the corresponding command from 
  721. the \amenu{Typeset} submenu.  While the \amenu{Typeset} submenu is 
  722. down, press the \key{Opt} key and choose \acmd{Open file.bbl} or 
  723. \acmd{Open file.ind} to open the file created by \BibTeX\ or 
  724. \MakeIndex, respectively.
  725.  
  726. \begin{commands}
  727.     \acmd{Open file.log} & \\
  728.     \acmd{Open file.aux} & \\
  729.     \acmd{Open file.toc} & \\
  730.     \acmd{Open file.lof} & \\
  731.     \acmd{Open file.lot} & \\
  732.     \acmd{Open file.idx} & \\
  733.     \acmd{Open file.blg} & \\
  734.     \acmd{Open file.ilg} & \\
  735.     \acmd{Open Any TeX File\ldots} & \key{Shf Cmd O}
  736. \end{commands}
  737. The \amenu{Other Files} submenu on the \amenu{Typeset} submenu 
  738. provides convenient access to other \LaTeX\ auxiliary files.  Choose 
  739. \acmd{Open Any TeX File} on the \amenu{Other Files} submenu to open 
  740. \emph{any} file in the current directory.
  741.  
  742. \begin{commands}
  743.     \acmd{Remove Auxiliary Files\ldots} &  \\
  744.     \acmd{Remove Temporary Files} &
  745. \end{commands}
  746. The utility \acmd{Remove Auxiliary Files} interactively removes all 
  747. auxiliary files (\filetype{aux} \filetype{bbl} \filetype{dvi} 
  748. \filetype{glo} \filetype{idx} \filetype{ind} \filetype{lof} 
  749. \filetype{log} \filetype{lot} \filetype{toc} \filetype{blg} 
  750. \filetype{clg} \filetype{ilg} \filetype{ps}) in the current directory.  
  751. Two additional buttons have been added to the dialog: the button 
  752. labeled ``rm ext'' removes all files with the same extension as the 
  753. file displayed in the dialog, and ``rm all'' removes all auxiliary 
  754. files from the current directory without prompting.
  755.  
  756. \Alpha\ writes all temporary files to \filespec{\$PREFS:tmp:}, which 
  757. makes them easier to remove.  All temporary files are removed once, at 
  758. launch; however, the command \acmd{Remove Temporary Files} on the 
  759. \amenu{Typeset} submenu removes all temporary files immediately.
  760.  
  761. \subsubsection{\amenu{Goto} submenu}%
  762. \label{sec:gotoSubmenu}
  763.  
  764. \begin{commands}
  765.     \acmd{LaTeX} & \key{Shf Cmd S} \\
  766.     \acmd{BibTeX} &  \\
  767.     \acmd{MakeIndex} &
  768. \end{commands}
  769. These commands launch and switch to the corresponding application 
  770. \emph{without} saving and typesetting the current document.  The 
  771. \acmd{LaTeX} command, for instance, is identical to the old 
  772. \acmd{latex} command in \filespec{latex.tcl}~v2.0.
  773.  
  774. \begin{commands}
  775.     \acmd{Next Tab Stop} & \key{Tab} \\
  776.     \acmd{Prev Tab Stop} & \key{Shf Tab} \\
  777.     \acmd{nth Tab Stop\ldots} & \key{Ctl Tab}
  778. \end{commands}
  779. As you write your document using the various commands on the \LaTeX\ 
  780. menu, templates are inserted into the text along with tab stops 
  781. (represented by bullets, which may also be inserted with \key{Opt 8}).  
  782. The idea is to type an argument at the current tab stop, press 
  783. \key{Tab} to go to the next tab stop, enter another argument, press 
  784. \key{Tab} again, and so on.  That's what \acmd{Next Tab Stop} and 
  785. \acmd{Prev Tab Stop} do: they move around from tab stop to tab stop.  
  786. Since \acmd{Next Tab Stop} and \acmd{Prev Tab Stop} are bound to the 
  787. \key{Tab} and \key{Shf Tab}, respectively, the menu commands aren't as 
  788. convenient as simply pressing the tab key, but they're included on the 
  789. \LaTeX\ menu for completeness.
  790.  
  791. NOTE:  Press \key{Opt Tab} to insert a literal tab into the document.
  792.  
  793. The \acmd{nth Tab Stop} command generalizes \acmd{Next Tab Stop} and 
  794. \acmd{Prev Tab Stop}.  The user is prompted for an integer (positive 
  795. or negative) specifying which tab stop to go to (relative to the 
  796. cursor position).  The \acmd{nth Tab Stop} command can also be used 
  797. non-interactively in Tcl procs.
  798.  
  799. \begin{commands}
  800.     \acmd{Prev Command} & \key{Kpad4} \\
  801.     \acmd{Next Command} & \key{Kpad6} \\
  802.     \acmd{Prev Command Select} & \key{Shf Kpad4} \\
  803.     \acmd{Next Command Select} & \key{Shf Kpad6} \\
  804.     \acmd{Prev Command Select With Args} & \key{Shf Opt Kpad4} \\
  805.     \acmd{Next Command Select With Args} & \key{Shf Opt Kpad6}
  806. \end{commands}
  807. The \acmd{Prev Command} and \acmd{Next Command} commands move the 
  808. cursor to the beginning of the previous or next \LaTeX\ command, while 
  809. \acmd{Prev Command Select} and \acmd{Next Command Select} select the 
  810. previous or next \LaTeX\ command.  Similarly, \acmd{Prev Command 
  811. Select With Args} and \acmd{Next Command Select With Args} select the 
  812. previous or next \LaTeX\ command, along with any command arguments that 
  813. may be present.  Required arguments containing nested braces will not be 
  814. selected, however.  See section~\ref{sec:bugs} for more information 
  815. about this and other \Alpha\ \LaTeX\ bugs.
  816.  
  817. \begin{commands}
  818.     \acmd{Prev Environment} & \key{Cmd Kpad4} \\
  819.     \acmd{Next Environment} & \key{Cmd Kpad6} \\
  820.     \acmd{Prev Environment Select} & \key{Shf Cmd Kpad4} \\
  821.     \acmd{Next Environment Select} & \key{Shf Cmd Kpad6}
  822. \end{commands}
  823. Like \acmd{Prev Command} and \acmd{Next Command}, these commands 
  824. either move the cursor to the beginning of the previous or next 
  825. \LaTeX\ environment, or select the previous or next \LaTeX\ 
  826. environment.  They are useful for locating or relocating environments.
  827.  
  828. \begin{commands}
  829.     \acmd{Prev Section} & \key{Cmd Kpad8} \\
  830.     \acmd{Next Section} & \key{Cmd Kpad2} \\
  831.     \acmd{Prev Section Select} & \key{Shf Cmd Kpad8} \\
  832.     \acmd{Next Section Select} & \key{Shf Cmd Kpad2}
  833. \end{commands}
  834. The \acmd{Prev Section} and \acmd{Next Section} commands may be used 
  835. to navigate large files with many sections.  They use the regular 
  836. expression \acmd{funcExprAlt} (which, of course, may be modified) 
  837. discussed in section~\ref{sec:variables}.  The \acmd{Prev Section 
  838. Select} and \acmd{Next Section Select} commands select the previous or 
  839. next section, that is, all the text from one \cmd{section} command to 
  840. the next, and are useful for relocating large blocks of text.
  841.  
  842. \begin{commands}
  843.     \acmd{Prev Subsection} & \key{Kpad8} \\
  844.     \acmd{Next Subsection} & \key{Kpad2} \\
  845.     \acmd{Prev Subsection Select} & \key{Shf Kpad8} \\
  846.     \acmd{Next Subsection Select} & \key{Shf Kpad2}
  847. \end{commands}
  848. The \acmd{Prev Subsection} and \acmd{Next Subsection} commands are 
  849. similar to \acmd{Prev Section} and \acmd{Next Section} except that 
  850. they also stop at each \cmd{subsection} and \cmd{subsubsection} as 
  851. well.  They use the variable \acmd{funcExpr} discussed in 
  852. section~\ref{sec:variables}.  In \TeX\ mode, these commands take the 
  853. place of \Alpha's generic \acmd{Next Func} and \acmd{Prev Func} 
  854. commands, which are bound to \key{Kpad3} and \key{Kpad1}, 
  855. respectively, in other modes.  Like \acmd{Prev Section Select} and 
  856. \acmd{Next Section Select}, the \acmd{Prev Subsection Select} and 
  857. \acmd{Next Subsection Select} commands select the previous or next 
  858. \cmd{section}, \cmd{subsection}, or \cmd{subsubsection}.
  859.  
  860. \subsubsection{\amenu{LaTeX Utilities} submenu}%
  861. \label{sec:latexUtilsSubmenu}
  862.  
  863. \begin{commands}
  864.     \acmd{Choose Command} & \key{Shf Cmd C}
  865. \end{commands}
  866. This command provides access to each and every command on the \LaTeX\ 
  867. menu via the keyboard.  It's a multi-step process, where the number of 
  868. steps depend on whether you're using the long or short \LaTeX\ menu: 
  869. first, press \key{Shf Cmd C} and choose a submenu from the list (using 
  870. the arrow keys or by pressing the first letter of a submenu name).  
  871. Next, choose another submenu from the list or the desired command, 
  872. whichever is appropriate.  Continue descending the \LaTeX\ submenus 
  873. until the desired command is found.
  874.  
  875. \begin{commands}
  876.     \acmd{Insert Literal Tab} & \key{Opt Tab} \\
  877.     \acmd{Insert Tab Stop} & \key{Opt 8}
  878. \end{commands}
  879. Use the \acmd{Insert Literal Tab} command, or better yet its command 
  880. key \key{Opt Tab}, to insert a literal tab into the document.  (This 
  881. is the same command key used to insert a literal tab in other \Alpha\ 
  882. modes, by the way.)  To insert a tab stop (i.e., a bullet) at the 
  883. insertion point, choose the \acmd{Insert Tab Stop} command on the 
  884. \amenu{LaTeX Utilities} submenu.  On a U.S. keyboard, this character 
  885. is bound to \key{Opt 8}, by default.
  886.  
  887. \begin{commands}
  888.     \acmd{Delete Tab Stops} & \key{Cmd Tab} \\
  889.     \acmd{Delete Comments} & 
  890. \end{commands}
  891. The \acmd{Delete Tab Stops} command deletes all tab stops (bullets) 
  892. from the current document (or the current selection, if there is one).  
  893. The \acmd{Delete Comments} command deletes all \emph{unnecessary} 
  894. comments from a \LaTeX\ document (which is more difficult than you 
  895. think).  Using the \acmd{Find} dialog, the following three-step manual 
  896. operation (try it!) will remove all comments from the current document:
  897. \begin{center}
  898.     \begin{tabular}{rcc}
  899.          & search string & replace string  \\
  900.         \hline
  901.         step 1: & \verb*|^[ \t]*%.*\r| & null  \\
  902.         step 2: & \verb*|[ \t]+%.*| & null  \\
  903.         step 3: & \verb*|([^\\](\\\\)*)%.*| & \verb*|\1%|  \\
  904.     \end{tabular}
  905. \end{center}
  906. The utility \acmd{delete comments} simply automates this process.  
  907. Thanks to Craig Platt \eaddress{platt@cc.umanitoba.ca} for posting this 
  908. algorithm in the newsgroup \texttt{comp.text.tex}.
  909.  
  910. WARNING!  The effects of \acmd{Delete Comments} can not be undone.
  911.  
  912. \begin{commands}
  913.     \acmd{Convert Quotes} &  \\
  914.     \acmd{Convert Dollar Signs} & 
  915. \end{commands}
  916. If there is a selection, \acmd{Convert Quotes} converts all straight 
  917. quotes to curved quotes (\LaTeX-style) within the selection; 
  918. otherwise, it converts the entire document.
  919.  
  920. Plain \TeX\ uses dollar signs to delimit math mode and displaymath 
  921. mode.  Since \LaTeX\ inherits most, if not all of plain \TeX's 
  922. functionality, dollar signs work in \LaTeX\ documents, too.  Identical 
  923. left and right delimiters are difficult to parse, however, and so any 
  924. error messages will be misleading at best.  That is why \LaTeX\ has 
  925. its own math mode delimiters and that's why they should be used.  The 
  926. \acmd{Convert Dollar Signs} command replaces all dollar signs in the 
  927. current document (or the current selection, if there is one) with 
  928. appropriate \LaTeX\ syntax.  It does this by making two passes over 
  929. the code, and is therefore somewhat slow on large documents.
  930.  
  931. \begin{commands}
  932.     \acmd{Short LaTeX Menu} & 
  933. \end{commands}
  934. The \acmd{Short LaTeX Menu} command is a checkable menu item that 
  935. toggles back and forth between the short and long \LaTeX\ menu.  See 
  936. the discussion on page~\pageref{pg:shortLaTeXMenu} for details.
  937.  
  938.  
  939. \subsection{Document-related commands}
  940.  
  941. \subsubsection{\amenu{Documents} submenu}%
  942. \label{sec:documentsSubmenu}
  943.  
  944. \begin{commands}
  945.     \acmd{New Document} & \key{Shf Cmd N}
  946. \end{commands}
  947. Use this command to open a new window in \TeX\ mode.  Choose \acmd{New 
  948. Document} or press \key{Shf Cmd N} to bring up a dialog with a pop-up 
  949. menu of standard document types.  This will create a new \TeX\ window, 
  950. insert a document of the requested type, and automatically run the 
  951. \acmd{options} command (which is still on the \amenu{Documents} 
  952. submenu).  The old commands \acmd{article}, \acmd{letter}, etc.\ will 
  953. be found on the \amenu{Insert Document} subsubmenu (discussed below).  
  954. Each such command behaves as it did before, that is, it inserts a 
  955. document template into an empty window or wraps the entire contents of 
  956. the current window.
  957.  
  958. \begin{commands}
  959.     \acmd{article} &  \\
  960.     \acmd{report} &  \\
  961.     \acmd{book} &  \\
  962.     \acmd{letter} &  \\
  963.     \acmd{slides} &  \\
  964.     \acmd{generic\ldots} & 
  965. \end{commands}
  966. Choosing one of these document templates from the \amenu{Documents} 
  967. submenu either inserts the desired template at the insertion point, or 
  968. if there is a current selection, the selection is wrapped up inside 
  969. the chosen template.  In either case, the insertion point is 
  970. positioned at the beginning of the template where the user may enter 
  971. any specific document class options that may be required (standard 
  972. options include \texttt{11pt}, \texttt{twoside} and 
  973. \texttt{twocolumn}, for example).  If none are desired, simply skip 
  974. over this part of the template (it's okay to leave the square brackets 
  975. empty).  See the \acmd{options} command below for more information on 
  976. document class options.
  977.  
  978. \begin{commands}
  979.     \acmd{options\ldots} &  \\
  980.     \acmd{usepackage} & \key{Ctl Opt U}
  981. \end{commands}
  982. The \acmd{options} command presents the user with a dialog box and a 
  983. list of standard document class options.  Choosing one of these 
  984. options or typing a name into the text box of the dialog inserts the 
  985. chosen option into the current document at the appropriate place.  See 
  986. the bug list in section~\ref{sec:bugs} for a caveat, however.
  987.  
  988. When you insert a \LaTeX\ document template into the current window, 
  989. you get one \cmd{usepackage} command by default.  To insert another 
  990. \cmd{usepackage} immediately after the \cmd{documentclass} command, 
  991. choose the \acmd{usepackage} command on the \amenu{Documents} submenu 
  992. or press \key{Ctl Opt U}.
  993.  
  994. \begin{commands}
  995.     \acmd{filecontents\ldots} &  \\
  996.     \acmd{filecontents All} & 
  997. \end{commands}
  998. To facilitate file transfer, \LaTeXe\ now has a \env{filecontents} 
  999. environment that contains the source of a \LaTeX\ auxiliary file or 
  1000. input file.  Issuing this command brings up a standard file dialog.  
  1001. After locating the file to be included, \filespec{latex.tcl} wraps the 
  1002. file inside a \env{filecontents} environment and inserts it at the 
  1003. beginning of the document.
  1004.  
  1005. There is also a \acmd{filecontents All} command that scans the 
  1006. current document and prepends one \env{filecontents} environment for 
  1007. each custom package or class file in the current folder.  Local files 
  1008. read by \cmd{input} or \cmd{include} are also attached, as well as 
  1009. \filetype{bib} and \filetype{bst} files.
  1010.  
  1011. \begin{commands}
  1012.     \acmd{Rebuild Documents Submenu} & 
  1013. \end{commands}
  1014. This command rebuilds the \amenu{Documents} submenu on-the-fly.  It's 
  1015. a temporary fix until I think of a better way to handle the 
  1016. \amenu{Packages} submenu.  The \amenu{Packages} submenu contains a 
  1017. list of all packages known to the \TeX\ application.  Choosing one of 
  1018. these packages inserts the corresponding \cmd{usepackage} command into 
  1019. the preamble of the current document.  To build this submenu, enable 
  1020. the flag \acmd{buildPkgsSubmenu} as described in 
  1021. section~\ref{sec:flags}, and then choose \acmd{Rebuild Documents 
  1022. Submenu} on the \amenu{Documents} submenu.
  1023.  
  1024. \subsubsection{\amenu{Page Layout} submenu}
  1025.  
  1026. \begin{commands}
  1027.     \acmd{maketitle} & 
  1028. \end{commands}
  1029. \LaTeX's \cmd{maketitle} command formats a title page with information 
  1030. provided by the user.  Choosing this command from the \LaTeX\ menu 
  1031. inserts a title page template into the current document just after the 
  1032. \cmdarg{begin}{document} command.
  1033.  
  1034. \begin{commands}
  1035.     \acmd{abstract} &  \\
  1036.     \acmd{titlepage} & 
  1037. \end{commands}
  1038. The \env{abstract} and \env{titlepage} environments contain the text 
  1039. of an abstract and title page, respectively.  The latter differs from 
  1040. \cmd{maketitle} in that the user is totally responsible for the format 
  1041. of the title page.
  1042.  
  1043. \begin{commands}
  1044.     \acmd{pagestyle\ldots} &  \\
  1045.     \acmd{thispagestyle\ldots} &  \\
  1046.     \acmd{pagenumbering\ldots} & 
  1047. \end{commands}
  1048. The \acmd{pagestyle} and \acmd{thispagestyle} commands control what 
  1049. appears in the header and footer of the current document.  The user is 
  1050. presented with a list of standard formats from which to choose.  The 
  1051. \acmd{pagenumbering} command is for choosing the style of the page 
  1052. numbers, and is also interactive.
  1053.  
  1054. \begin{commands}
  1055.     \acmd{twocolumn} &  \\
  1056.     \acmd{onecolumn} & 
  1057. \end{commands}
  1058. These are simple declarations that tell \LaTeX\ to begin formatting 
  1059. the output in two or one column format, respectively.
  1060.  
  1061. \subsubsection{\amenu{Sectioning} submenu}
  1062.  
  1063. \begin{commands}
  1064.     \acmd{part} &  \\
  1065.     \acmd{chapter} &  \\
  1066.     \acmd{section} &  \\
  1067.     \acmd{subsection} &  \\
  1068.     \acmd{subsubsection} &  \\
  1069.     \acmd{paragraph} &  \\
  1070.     \acmd{subparagraph} & 
  1071. \end{commands}
  1072. All \LaTeX\ sectioning commands are available from the 
  1073. \amenu{Sectioning} submenu, the most common commands being the 
  1074. \acmd{chapter}, \acmd{section}, and \acmd{subsection} commands.  The 
  1075. corresponding \LaTeX\ command is inserted at the insertion point.  The 
  1076. current selection, if there is one, is assumed to be the name of the 
  1077. section and wrapped up inside curly braces.  The resulting declaration 
  1078. is \emph{not} automatically followed by a carriage return since the 
  1079. user has the option of putting a label (or whatever) on the same line.
  1080.  
  1081. \begin{commands}
  1082.     \acmd{appendix} & 
  1083. \end{commands}
  1084. Unlike the other sectioning commands, this command does not have an 
  1085. argument.  It simply tells \LaTeX\ to start numbering differently.  
  1086. The \cmd{appendix} declaration only makes sense in the context of a 
  1087. long document such as a book.
  1088.  
  1089.  
  1090. \subsection{Paragraph mode commands}
  1091.  
  1092. \subsubsection{\amenu{Text Style} submenu}
  1093.  
  1094. The following text style commands each take an argument, namely, the 
  1095. text to be formatted in the given style.  For large amounts of text, 
  1096. use the corresponding declarations listed on p.~37 of the \LaTeX\ 
  1097. book.
  1098.  
  1099. \begin{commands}
  1100.     \acmd{emph} & \key{Ctl Opt E} \\
  1101.     \acmd{underline} & \key{Ctl Cmd U}
  1102. \end{commands}
  1103. Short for ``emphasized'', the \acmd{emph} command is perhaps the most 
  1104. often used \LaTeX\ text style.  If the surrounding text has the 
  1105. upright shape (see below), then \LaTeX\ typesets emphasized text in 
  1106. italics.  If the surrounding text is italicized, then emphasized text 
  1107. will be upright.  The so-called ``italic correction'' is handled 
  1108. automatically by this command.
  1109.  
  1110. Although underlined text is not used much anymore, the corresponding 
  1111. command is included here for completeness.  The \acmd{underline} 
  1112. command may also be used in math mode and therefore also appears on 
  1113. the \amenu{Grouping} submenu.  See section~\ref{sec:groupingSubmenu}.
  1114.  
  1115. \begin{commands}
  1116.     \acmd{textup} &  \\
  1117.     \acmd{textit} & \key{Ctl Opt I} \\
  1118.     \acmd{textsl} & \key{Ctl Opt S} \\
  1119.     \acmd{textsc} & \key{Ctl Opt H}
  1120. \end{commands}
  1121. These four commands specify the \emph{shape} of their respective 
  1122. arguments.  They call for upright text, italics, slanted text, and 
  1123. small caps, respectively.  Upright is the default.
  1124.  
  1125. \begin{commands}
  1126.     \acmd{textmd} &  \\
  1127.     \acmd{textbf} & \key{Ctl Opt B}
  1128. \end{commands}
  1129. These commands specify an attribute called the \emph{series} of the 
  1130. corresponding font.  They call for medium and boldfaced text, 
  1131. respectively.  Medium is the default.
  1132.  
  1133. \begin{commands}
  1134.     \acmd{textrm} & \key{Ctl Opt R} \\
  1135.     \acmd{textsf} & \key{Ctl Opt W} \\
  1136.     \acmd{texttt} & \key{Ctl Opt Y}
  1137. \end{commands}
  1138. The third and final component of any given font is the \emph{family}.  
  1139. There are three families: roman, sans serif, and typewriter.  Roman is 
  1140. the default.
  1141.  
  1142. \begin{commands}
  1143.     \acmd{textnormal} & 
  1144. \end{commands}
  1145. Regardless of the surrounding text, the argument of \cmd{textnormal} 
  1146. is typeset in the default style, that is, upright, medium, and roman.
  1147.  
  1148. \begin{commands}
  1149.     \acmd{em} & \key{Shf Ctl Opt E} \\
  1150.     \acmd{upshape} &  \\
  1151.     \acmd{itshape} & \key{Shf Ctl Opt I} \\
  1152.     \acmd{slshape} & \key{Shf Ctl Opt S} \\
  1153.     \acmd{scshape} & \key{Shf Ctl Opt H} \\
  1154.     \acmd{mdseries} &  \\
  1155.     \acmd{bfseries} & \key{Shf Ctl Opt B} \\
  1156.     \acmd{rmfamily} & \key{Shf Ctl Opt R} \\
  1157.     \acmd{sffamily} & \key{Shf Ctl Opt W} \\
  1158.     \acmd{ttfamily} & \key{Shf Ctl Opt Y} \\
  1159.     \acmd{normalfont} & 
  1160. \end{commands}
  1161. These commands are the declarative counterparts of the previously 
  1162. mentioned text style commands.  Typically, they are used for large 
  1163. chunks of text, say, entire paragraphs.  (Note: the declarative 
  1164. versions do not apply an italic correction.  See the \LaTeX\ manual 
  1165. for usage and examples.)  To access these commands, press the \key{Shf} 
  1166. key with the \amenu{Text Style} submenu down.
  1167.  
  1168. \subsubsection{\amenu{Text Size} submenu}
  1169.  
  1170. \begin{commands}
  1171.     \acmd{tiny} & \key{Ctl Opt 1} \\
  1172.     \acmd{scriptsize} & \key{Ctl Opt 2} \\
  1173.     \acmd{footnotesize} & \key{Ctl Opt 3} \\
  1174.     \acmd{small} & \key{Ctl Opt 4} \\
  1175.     \acmd{normalsize} & \key{Ctl Opt 5} \\
  1176.     \acmd{large} & \key{Ctl Opt 6} \\
  1177.     \acmd{Large} & \key{Ctl Opt 7} \\
  1178.     \acmd{LARGE} & \key{Ctl Opt 8} \\
  1179.     \acmd{huge} & \key{Ctl Opt 9} \\
  1180.     \acmd{Huge} & \key{Ctl Opt 0}
  1181. \end{commands}
  1182. These commands declare the text font size.  They affect the entire 
  1183. document unless surrounded by braces, so the menu commands 
  1184. automatically insert braces.  If you want the entire document set in a 
  1185. certain font size, insert a class option with the \acmd{options} 
  1186. command (see section~\ref{sec:documentsSubmenu}).
  1187.  
  1188. \subsubsection{\amenu{International} submenu}
  1189.  
  1190. \filespec{latex.tcl} implements about half of \LaTeX's full palette of 
  1191. international symbols and accents (if you can think of ways to get the 
  1192. rest of these on the \LaTeX\ menu, please let me know!).  See 
  1193. Tables~3.1 and 3.2 on pp.~38--39 of the \LaTeX\ book for a complete 
  1194. list.
  1195.  
  1196. \subsubsection{\amenu{Environments} submenu}%
  1197. \label{sec:envSubmenu}
  1198.  
  1199. \begin{commands}
  1200.     \acmd{itemize\ldots} & \key{Opt F7} \\
  1201.     \acmd{enumerate\ldots} & \key{Shf Opt F7} \\
  1202.     \acmd{description\ldots} & \key{Ctl Opt F7} \\
  1203.     \acmd{thebibliography\ldots} &  \\
  1204.     \acmd{slide} & \key{Opt F8} \\
  1205.     \acmd{overlay} & \key{Shf Opt F8} \\
  1206.     \acmd{note} & \key{Ctl Opt F8} \\
  1207.     \acmd{figure} & \key{Opt F9} \\
  1208.     \acmd{table} & \key{Shf Opt F9} \\
  1209.     \acmd{tabular\ldots} & \key{Ctl Opt F9} \\
  1210.     \acmd{verbatim} & \key{Opt F10} \\
  1211.     \acmd{quote} & \key{Shf Opt F10} \\
  1212.     \acmd{quotation} & \key{Ctl Opt F10} \\
  1213.     \acmd{verse} &  \\
  1214.     \acmd{center} & \key{Opt F11} \\
  1215.     \acmd{flushleft} & \key{Shf Opt F11} \\
  1216.     \acmd{flushright} & \key{Ctl Opt F11} \\
  1217.     \acmd{general\ldots} & \key{Opt F12}
  1218. \end{commands}
  1219. One of the most useful of \filespec{latex.tcl}'s many features is its 
  1220. ability to insert skeletal templates for multi-line environments (that 
  1221. is, \LaTeX\ constructs delimited by a \cmd{begin}\ldots\cmd{end} pair).  
  1222. These may be inserted anywhere in the document (even in the middle of 
  1223. a line), complete with tab stops and appropriate indentation.  In some 
  1224. cases (like \acmd{itemize}), the user is asked to specify the number 
  1225. of rows desired, after which the program generates the corresponding 
  1226. environment body complete with indentation and tab stops.  Some 
  1227. environment commands (like \acmd{tabular}) also prompt the user for 
  1228. the desired number of columns.  There's even a \acmd{general} command 
  1229. for inserting user-defined environments on-the-fly.
  1230.  
  1231. The \acmd{figure} command deserves special mention.  Choosing this 
  1232. command from the \amenu{Environments} submenu (or by pressing \key{Opt 
  1233. F9}) brings up a dialog with a pop-up menu of box-making macros, one 
  1234. for every macro name stored in the \TeX\ mode variable 
  1235. \acmd{boxMacroNames} (see section~\ref{sec:variables}).  With the 
  1236. mouse or arrow keys, choose one of these macro names and click ``OK'' 
  1237. to insert the corresponding \env{figure} environment at the insertion 
  1238. point, or leave the text box blank to wrap a \env{figure} environment 
  1239. around the current selection (if there is one).  If only one macro 
  1240. name is stored in \acmd{boxMacroNames}, then the dialog is 
  1241. circumvented and the \env{figure} environment is inserted at the 
  1242. insertion point without prompting.
  1243.  
  1244. Note: The \amenu{Environments} submenu seeks to mimic the 
  1245. corresponding command keys.  Each group of environments on this 
  1246. submenu has been assigned a different function key, beginning with 
  1247. \key{F7}.  The \acmd{general} environment, for instance, is bound to 
  1248. \key{Opt F12}.  See section~\ref{sec:keys} for more information.
  1249.  
  1250. \subsubsection{\amenu{Boxes} submenu}
  1251.  
  1252. \begin{commands}
  1253.     \acmd{mbox} & \key{Ctl Opt M} \\
  1254.     \acmd{makebox} &  \\
  1255.     \acmd{fbox} &  \\
  1256.     \acmd{framebox} & 
  1257. \end{commands}
  1258. Perhaps the most useful box-making command is \cmd{mbox}, which 
  1259. formats its argument in LR mode, a restricted form of paragraph mode 
  1260. impervious to line breaks.  The \cmd{mbox} command is especially 
  1261. useful for inserting a bit of plain text in the middle of a math 
  1262. formula (see the \textsl{\LaTeX} book for examples).  The \cmd{makebox} 
  1263. command is a generalized form of \cmd{mbox}, which takes the width and 
  1264. height of the box as additional arguments.
  1265.  
  1266. The commands \cmd{fbox} and \cmd{framebox} are analogous to \cmd{mbox} 
  1267. and \cmd{makebox} except that a rectangular frame is drawn around the 
  1268. box.
  1269.  
  1270. \begin{commands}
  1271.     \acmd{newsavebox} &  \\
  1272.     \acmd{sbox} &  \\
  1273.     \acmd{savebox} &  \\
  1274.     \acmd{usebox} & 
  1275. \end{commands}
  1276. A ``savebox'' is a bin for storing text, graphics, formulas, or 
  1277. whatever.  The argument to \cmd{sbox} or \cmd{savebox} is typeset 
  1278. \emph{once} and may be recalled later, any number of times, via 
  1279. \cmd{usebox}.
  1280.  
  1281. \begin{commands}
  1282.     \acmd{raisebox} & 
  1283. \end{commands}
  1284. This box-making command takes a vertical offset as one of its arguments.
  1285.  
  1286. \begin{commands}
  1287.     \acmd{parbox} &  \\
  1288.     \acmd{minipage} & 
  1289. \end{commands}
  1290. The primary argument of \LaTeX's \cmd{parbox} command or 
  1291. \env{minipage} environment is typeset in paragraph mode.  \cmd{parbox} 
  1292. is for small amounts of text, while the \env{minipage} environment is 
  1293. for large blocks of text.
  1294.  
  1295. \begin{commands}
  1296.     \acmd{rule} & 
  1297. \end{commands}
  1298. The \cmd{rule} command makes a box filled with ink.  For example,
  1299. \begin{verbatim}
  1300.   \newcommand{\filledsquare}{\rule[0.125ex]{1.3ex}{1.3ex}}
  1301. \end{verbatim}
  1302. makes a black square approximately the same size as \LaTeX's open \cmd{Box}.  
  1303. (There is an analogous command called \cmd{blacksquare} defined in the AMS 
  1304. symbol package.)
  1305.  
  1306. \subsubsection{\amenu{Miscellaneous} submenu}%
  1307. \label{sec:miscSubmenu}
  1308.  
  1309. \begin{commands}
  1310.     \acmd{verb} & \key{Ctl Opt V} \\
  1311.     \acmd{footnote} & \key{Ctl Opt F} \\
  1312.     \acmd{marginal note} & \key{Ctl Opt N}
  1313. \end{commands}
  1314. All the above commands wrap the current selection, if there is one.
  1315.  
  1316. \begin{commands}
  1317.     \acmd{label} & \key{Ctl Opt L} \\
  1318.     \acmd{ref} & \key{Ctl Opt X} \\
  1319.     \acmd{pageref} & \key{Ctl Opt P} \\
  1320.     \acmd{cite} & \key{Ctl Opt C} \\
  1321.     \acmd{nocite} & \key{Shf Ctl Opt C}
  1322. \end{commands}
  1323. These commands do more than simply insert the corresponding \LaTeX\ 
  1324. command.  For instance, press \key{Ctl Opt X} or \key{Ctl Opt P} to 
  1325. insert a \cmd{ref} or \cmd{pageref} command, respectively.  The 
  1326. inserted command will contain the argument of the nearest \cmd{label} 
  1327. command.  Continue pressing \key{Ctl Opt X} or \key{Ctl Opt P} to cycle 
  1328. through all the \cmd{label} commands in your document.
  1329.  
  1330. \begin{commands}
  1331.     \acmd{item} & \key{Ctl Opt J}
  1332. \end{commands}
  1333. Simply press \key{Ctl Opt J} inside an \env{itemize}, \env{enumerate}, 
  1334. \env{description}, or \env{thebibliography} environment to insert an 
  1335. item of the appropriate type at the insertion point.
  1336.  
  1337. \begin{commands}
  1338.     \acmd{quotes} & \key{Ctl Opt \straightquote} \\
  1339.     \acmd{double quotes} & \key{Shf Ctl Opt \straightquote}
  1340. \end{commands}
  1341. The \filespec{latex.tcl} macro package incorporates a ``smart quotes'' 
  1342. feature originally implemented by an unknown author (see the code in 
  1343. \filespec{latexSmart.tcl}) that makes the typing of quoted material 
  1344. totally transparent.  Just use the quote key as you would for plain 
  1345. text files.  Consequently, the \acmd{quotes} and \acmd{double quotes} 
  1346. commands are primarily used for quoting existing text.
  1347.  
  1348. \begin{commands}
  1349.     \acmd{ellipsis} &  \\
  1350.     \acmd{en-dash} &  \\
  1351.     \acmd{em-dash} &  \\
  1352.     \acmd{TeX logo} &  \\
  1353.     \acmd{LaTeX logo} &  \\
  1354.     \acmd{Latex2e logo} &  \\
  1355.     \acmd{date} & 
  1356. \end{commands}
  1357. These are a few of the text-related \LaTeX\ commands that I've found 
  1358. useful from time to time.
  1359.  
  1360. \begin{commands}
  1361.     \acmd{dag} &  \\
  1362.     \acmd{ddag} &  \\
  1363.     \acmd{section mark} &  \\
  1364.     \acmd{paragraph mark} &  \\
  1365.     \acmd{copyright} &  \\
  1366.     \acmd{pounds} & 
  1367. \end{commands}
  1368. The previous six commands may be used in any mode, including math mode.
  1369.  
  1370.  
  1371. \subsection{Math mode commands}
  1372.  
  1373. \subsubsection{\amenu{Math Mode} submenu}%
  1374. \label{sec:mathModeSubmenu}
  1375.  
  1376. \begin{commands}
  1377.     \acmd{TeX math} &  \\
  1378.     \acmd{TeX displaymath} &  \\
  1379.     \acmd{LaTeX math} & \key{Ctl Cmd M} or \key{Ctl Cmd 4} \\
  1380.     \acmd{Latex displaymath} & \key{Ctl Opt Cmd M} or \key{Ctl Opt Cmd 4}
  1381. \end{commands}
  1382. Math mode may be invoked in a number of ways.  Many \TeX nical typists 
  1383. rely exclusively on \TeX's use of dollar signs and almost always key 
  1384. in their documents horizontally from left to right.  Others have 
  1385. adopted \LaTeX's tendency to prefer vertical constructions 
  1386. (environments).  Still others have settled on some combination of 
  1387. these, using whichever seems comfortable or convenient at the time.  
  1388. Whatever your approach to mathematical typesetting, there's something 
  1389. for everybody in \filespec{latex.tcl}, designed to simplify the input 
  1390. of complex mathematical formulas.
  1391.  
  1392. Four math modes are available for normal, left-to-right input.  These 
  1393. are called \acmd{TeX math} \verb|$|\ldots\verb|$| and \acmd{TeX 
  1394. displaymath} \verb|$$|\ldots\verb|$$|, along with their 
  1395. corresponding \LaTeX\ equivalents called \acmd{LaTeX math} 
  1396. \cmd{(}\ldots\cmd{)} and \acmd{LaTeX displaymath} 
  1397. \cmd{[}\ldots\cmd{]}.  The \LaTeX\ versions are logically equivalent 
  1398. to the multi-line \env{math} and \env{displaymath} environments (see 
  1399. below).  The latter have the advantage that 1) they are often more 
  1400. readable in source form, and 2) they are more easily changed (by 
  1401. simply replacing keywords) as the document evolves.
  1402.  
  1403. NOTE: The above command keys automatically switch from 
  1404. \acmd{Latex math} and \acmd{Latex displaymath} to \acmd{Tex math} and 
  1405. \acmd{Tex displaymath}, respectively, when the flag 
  1406. \acmd{useDollarSigns} is set to true.
  1407.  
  1408. \textbf{Tip:} Get into the habit of pressing \key{Ctl Cmd M} or 
  1409. \key{Ctl Opt Cmd M} when composing in-line equations, since there is 
  1410. less chance of inadvertantly omitting a dollar sign if you do.
  1411.  
  1412. \subsubsection{\amenu{Math Style} submenu}
  1413.  
  1414. \begin{commands}
  1415.     \acmd{mathit} & \key{Ctl Opt Cmd I} \\
  1416.     \acmd{mathrm} & \key{Ctl Opt Cmd R} \\
  1417.     \acmd{mathbf} & \key{Ctl Opt Cmd B} \\
  1418.     \acmd{mathsf} & \key{Ctl Opt Cmd W} \\
  1419.     \acmd{mathtt} & \key{Ctl Opt Cmd Y} \\
  1420.     \acmd{mathcal} & \key{Ctl Opt Cmd C} \\
  1421.     \acmd{displaystyle} & \key{Ctl Opt Cmd D} \\
  1422.     \acmd{textstyle} & \key{Ctl Opt Cmd T} \\
  1423.     \acmd{scriptstyle} & \key{Ctl Opt Cmd S} \\
  1424.     \acmd{scriptscriptstyle} & 
  1425. \end{commands}
  1426. The next submenu on the \LaTeX\ menu is called \amenu{Math Style}, 
  1427. with commands for math italic, roman, boldface, sans serif, typewriter 
  1428. and calligraphic typefaces, as well as declarations for 
  1429. \cmd{displaystyle}, \cmd{textstyle}, \cmd{scriptstyle}, and 
  1430. \cmd{scriptscriptstyle}.  The latter command quartet are sometimes 
  1431. needed to override \LaTeX's default math style.  (The \env{array} 
  1432. environment, for example, insists on enabling \cmd{textstyle} 
  1433. regardless of the surrounding environment.)
  1434.  
  1435. \subsubsection{\amenu{Math Environments} submenu}
  1436.  
  1437. \begin{commands}
  1438.     \acmd{math} & \key{Opt F5} \\
  1439.     \acmd{displaymath} & \key{Shf Opt F5} \\
  1440.     \acmd{equation} & \key{Ctl Opt F5} \\
  1441.     \acmd{eqnarray\texttt{*}} & \key{Shf Opt F6} \\
  1442.     \acmd{eqnarray} & \key{Ctl Opt F6} \\
  1443.     \acmd{array} & \key{Opt F6} \\
  1444.     \acmd{general} & \key{Opt F12}
  1445. \end{commands}
  1446. Besides the \env{math} and \env{displaymath} environments discussed in 
  1447. section~\ref{sec:mathModeSubmenu}, other multi-line math environments 
  1448. (\env{equation}, \env{array}, \env{eqnarray}, and \env{eqnarray*}) are 
  1449. also available.  Each is mutually exclusive (that is, one may not be 
  1450. nested inside the other) except for the \env{array} environment which 
  1451. \emph{must} be nested inside some other math environment.  (It took me 
  1452. a long time to come to grips with this apparent anomaly).  There's 
  1453. also a \acmd{general} environment command, which is exactly the same 
  1454. command found on the \amenu{Text Style} submenu.
  1455.  
  1456. \subsubsection{\amenu{Formulas} submenu}%
  1457. \label{sec:formulasSubmenu}
  1458.  
  1459. \begin{commands}
  1460.     \acmd{subscript} & \key{\_} (if \acmd{smartScripts} is true) \\
  1461.     \acmd{superscript} & \key{\^{}} (if \acmd{smartScripts} is true) \\
  1462.     \acmd{frac} & \key{Ctl Cmd F} \\
  1463.     \acmd{sqrt} & \key{Ctl Cmd R} \\
  1464.     \acmd{nth root} &  \\
  1465.     \acmd{one parameter} & \key{Ctl Cmd 1} \\
  1466.     \acmd{two parameters} & \key{Ctl Cmd 2}
  1467. \end{commands}
  1468. The \amenu{Formulas} submenu contains \LaTeX\ commands commonly used 
  1469. to build up even the simplest mathematical expressions.  There are 
  1470. commands for typesetting subscripts and superscripts, fractions (which 
  1471. used to be difficult to typeset), square roots, and arbitrary $n$th 
  1472. roots.  There are also one and two-parameter \LaTeX\ commands, which 
  1473. allow the user to type in a command name on-the-fly.  Next to 
  1474. \filespec{latex.tcl}'s environment commands, the formula commands are 
  1475. most useful.  (In fact, it pays to memorize their command key 
  1476. equivalents.)
  1477.  
  1478. While we're talking about the \amenu{Formulas} submenu, let me say a 
  1479. little bit about \filespec{latex.tcl}'s ability to parse fractions.  
  1480. How many times have you found yourself wanting to recast a 
  1481. horizontally typeset fraction such as 
  1482. \begin{verbatim}
  1483.   $x = (-b \pm \sqrt{b^2 - 4ac})/(2a)$
  1484. \end{verbatim}
  1485. in a corresponding ``vertical'' form 
  1486. \begin{verbatim}
  1487.   $$x = \frac{(-b \pm \sqrt{b^2 - 4ac})}{(2a)}$$
  1488. \end{verbatim}
  1489. Obviously, such an operation involves a lot of cutting and pasting, 
  1490. and I used to avoid it like the plague.  Well, now all you have to do 
  1491. is select the text you want converted (in this case, all the text 
  1492. inside the dollar signs except ``\texttt{x = }``) and then choose the 
  1493. \acmd{frac} command from the \amenu{Formulas} submenu on \LaTeX\ menu.  
  1494. The rest is automatic.  (Now if only I could get it to automatically 
  1495. remove the redundant parentheses\ldots)
  1496.  
  1497. \subsubsection{\amenu{Greek} submenu}
  1498.  
  1499. One of the longest of \filespec{latex.tcl}'s submenus contains the 
  1500. entire Greek alphabet, including both lower and upper-case letters 
  1501. (hold down the \key{Opt} key while the \amenu{Greek} submenu is down 
  1502. to see the latter), plus a handful of lower-case ``italicized'' 
  1503. letters (\cmd{varepsilon}, \cmd{vartheta}, \cmd{varpi}, \cmd{varrho}, 
  1504. \cmd{varsigma}, and \cmd{varphi}).  To type a \amenu{Greek} command at 
  1505. the keyboard, press \key{Ctl M} \key{letter}, where \key{letter} is 
  1506. the same key assigned to that letter by the Macintosh Symbol font.  See 
  1507. the file \filespec{latex\_bindings.tex} for a useful summary.
  1508.  
  1509. NOTE: There are two \amenu{Greek} submenus.  While one is down, press 
  1510. a modifier key (such as \key{Opt}) to see the alternate menu.
  1511.  
  1512. \subsubsection{\amenu{Binary Operators} and \amenu{Relations} submenus}
  1513.  
  1514. Plain \TeX\ defines an incredible variety of mathematical symbols, 
  1515. each transparently available to the \LaTeX\ user.  All of these 
  1516. symbols have been implemented in this version of \filespec{latex.tcl}.
  1517.  
  1518. There are two \amenu{Relations} menus.  While one is down, press 
  1519. a modifier key (such as \key{Opt}) to see the alternate menu.
  1520.  
  1521. \subsubsection{\amenu{Arrows}, \amenu{Dots}, and \amenu{Symbols} submenus}
  1522.  
  1523. A quick glance at the \LaTeX\ book shows a wide assortment of arrows, 
  1524. dots, and miscellaneous mathematical symbols.  Starting with v2.2, all 
  1525. of these have been implemented in \filespec{latex.tcl}.  See the 
  1526. \amenu{Arrows}, \amenu{Dots}, and \amenu{Symbols} submenus for 
  1527. exhaustive lists of available commands.
  1528.  
  1529. NOTE: There are two \amenu{Arrows} menus.  While one is down, press a 
  1530. modifier key (such as \key{Opt}) to see the alternate menu.
  1531.  
  1532. \subsubsection{\amenu{Functions} submenu}
  1533.  
  1534. All of \TeX's so-called ``log-like'' functions (\cmd{exp} and 
  1535. \cmd{sin}, for instance) have been implemented in this version of 
  1536. \filespec{latex.tcl}.  Some of these commands (\acmd{lim}, \acmd{inf}, 
  1537. \acmd{sup}, \acmd{liminf}, \acmd{limsup}, \acmd{max}, and \acmd{min}) 
  1538. automatically insert a subscript.  Only \acmd{lim} has a command key, 
  1539. namely, \key{Ctl Cmd L}.
  1540.  
  1541. \subsubsection{\amenu{Large Operators} submenu}
  1542.  
  1543. \begin{commands}
  1544.     \acmd{sum} & \key{Ctl Cmd S} \\
  1545.     \acmd{prod} & \key{Ctl Cmd P} \\
  1546.     \acmd{coprod} &  \\
  1547.     \acmd{int} & \key{Ctl Cmd I} \\
  1548.     \acmd{oint} &  \\
  1549.     \acmd{bigcup} &  \\
  1550.     \acmd{bigcap} &  \\
  1551.     \acmd{bigsqcup} &  \\
  1552.     \acmd{bigvee} &  \\
  1553.     \acmd{bigwedge} &  \\
  1554.     \acmd{bigodot} &  \\
  1555.     \acmd{bigotimes} &  \\
  1556.     \acmd{bigoplus} &  \\
  1557.     \acmd{biguplus} & 
  1558. \end{commands}
  1559. The \filespec{latex.tcl} macro package also provides support for 
  1560. \TeX's so-called ``large operators''.  Commands such as \acmd{sum} 
  1561. \key{Ctl Cmd S}, \acmd{prod} \key{Ctl Cmd P}, \acmd{int} \key{Ctl Cmd 
  1562. I}, \acmd{bigcup}, \acmd{bigcap}, \acmd{bigvee}, and \acmd{bigwedge} 
  1563. may be found on the \amenu{Large Operators} submenu.
  1564.  
  1565. \subsubsection{\amenu{Delimiters} submenu}
  1566.  
  1567. \begin{commands}
  1568.     \acmd{parentheses} &  \\
  1569.     \acmd{brackets} &  \\
  1570.     \acmd{braces} &  \\
  1571.     \acmd{vertical bars} &  \\
  1572.     \acmd{other delims\ldots} &  \\
  1573.     \acmd{half-open interval} &  \\
  1574.     \acmd{half-closed interval} &  \\
  1575.     \acmd{big parentheses} &  \\
  1576.     \acmd{big brackets} &  \\
  1577.     \acmd{big braces} &  \\
  1578.     \acmd{big vertical bars} &  \\
  1579.     \acmd{other big delims\ldots} &  \\
  1580.     \acmd{big left brace} &  \\
  1581.     \acmd{other mixed big delims\ldots} & 
  1582. \end{commands}
  1583. \TeX\ is particularly adept at ``delimiting'' arbitrary-sized 
  1584. mathematical expressions.  Examples include parenthesized equations, 
  1585. matrices, and determinants.  Since the left and right delimiters need 
  1586. not be of the same type, there are a host of options from which to 
  1587. choose, which presents an interesting design problem.  A workable 
  1588. compromise was achieved by implementing a handful of common delimiters 
  1589. explicitly, and then providing access to other more esoteric 
  1590. combinations via dialogs.  Consequently, commands for \acmd{big 
  1591. parentheses}, \acmd{big brackets}, \acmd{big braces}, and \acmd{big 
  1592. vertical bars} (i.e., absolute value signs) will be found on the 
  1593. \amenu{Delimiters} submenu, along with a \acmd{big left brace} 
  1594. (commonly used to define multi-part functions or systems of 
  1595. equations), as well as commands called \acmd{other big delims} and 
  1596. \acmd{other mixed big delims}.  The latter two commands are 
  1597. interactive---the user either types the delimiter name directly into a 
  1598. text box or chooses the desired name from a pop-up menu of available 
  1599. options.  Also on the \amenu{Delimiters} submenu are normal-sized 
  1600. \acmd{parentheses}, \acmd{brackets}, \acmd{braces}, \acmd{vertical 
  1601. bars}, and other fixed-size delimiters.
  1602.  
  1603. \begin{commands}
  1604.     \acmd{multi-line big parentheses} &  \\
  1605.     \acmd{multi-line big brackets} &  \\
  1606.     \acmd{multi-line big braces} &  \\
  1607.     \acmd{multi-line big vertical bars} &  \\
  1608.     \acmd{other multi-line big delims\ldots} &  \\
  1609.     \acmd{multi-line big left brace} &  \\
  1610.     \acmd{other multi-line mixed big delims\ldots} & 
  1611. \end{commands}
  1612. All of the big delimiters have multi-line counterparts (i.e, a 
  1613. vertical, as opposed to a horizontal construct).  To access these 
  1614. commands, press the \key{Opt} key while the \amenu{Delimiters} submenu 
  1615. is down.
  1616.  
  1617. \subsubsection{\amenu{Math Accents} submenu}
  1618.  
  1619. \begin{commands}
  1620.     \acmd{acute} & \key{Ctl Cmd A} \\
  1621.     \acmd{bar} & \key{Ctl Cmd B} \\
  1622.     \acmd{breve} &  \\
  1623.     \acmd{check} & \key{Ctl Cmd C} \\
  1624.     \acmd{dot} & \key{Ctl Cmd D} \\
  1625.     \acmd{ddot} &  \\
  1626.     \acmd{grave} & \key{Ctl Cmd G} \\
  1627.     \acmd{hat} & \key{Ctl Cmd H} \\
  1628.     \acmd{tilde} & \key{Ctl Cmd T} \\
  1629.     \acmd{vec} & \key{Ctl Cmd V} \\
  1630.     \acmd{widehat} &  \\
  1631.     \acmd{widetilde} &  \\
  1632.     \acmd{imath} &  \\
  1633.     \acmd{jmath} & 
  1634. \end{commands}
  1635. Math accents (not to be confused with diacritical marks used in 
  1636. paragraph mode) are accessed from a submenu of the same name.  There 
  1637. are commands for hats, bars, tildes, vectors, dots, etc., plus wide 
  1638. hats and tildes, most of which have command keys.  There are also 
  1639. commands for dotless versions of the letters ``$i$'' and ``$j$'' used 
  1640. in conjunction with these accents.  Insofar as possible, the macros 
  1641. check to make sure that only single characters are being accented, or 
  1642. in the case of wide accents, three or fewer characters.
  1643.  
  1644. \subsubsection{\amenu{Grouping} submenu}%
  1645. \label{sec:groupingSubmenu}
  1646.  
  1647. \begin{commands}
  1648.     \acmd{underline} & \key{Ctl Cmd U} \\
  1649.     \acmd{overline} & \key{Ctl Cmd O} \\
  1650.     \acmd{underbrace} & \key{Ctl Opt Cmd U} \\
  1651.     \acmd{overbrace} & \key{Ctl Opt Cmd O} \\
  1652.     \acmd{overrightarrow} &  \\
  1653.     \acmd{overleftarrow} &  \\
  1654.     \acmd{stackrel} & 
  1655. \end{commands}
  1656. The \amenu{Grouping} submenu has commands for underlining and 
  1657. overlining, and related commands that produce underbraces and 
  1658. overbraces.  There's also a command called \acmd{stackrel} used to 
  1659. construct compound operators via vertical stacking (see p.~50 of the 
  1660. \LaTeX\ book for more information).
  1661.  
  1662. \subsubsection{\amenu{Spacing} submenu}
  1663.  
  1664. \begin{commands}
  1665.     \acmd{neg thin} &  \\
  1666.     \acmd{thin} &  \\
  1667.     \acmd{medium} &  \\
  1668.     \acmd{thick} &  \\
  1669.     \acmd{quad} &  \\
  1670.     \acmd{qquad} &  \\
  1671.     \acmd{hspace} &  \\
  1672.     \acmd{vspace} &  \\
  1673.     \acmd{hfill} &  \\
  1674.     \acmd{vfill} &  \\
  1675.     \acmd{smallskip} &  \\
  1676.     \acmd{medskip} &  \\
  1677.     \acmd{bigskip} & 
  1678. \end{commands}
  1679. The \amenu{Spacing} submenu provides for various types of horizontal 
  1680. and vertical spacing.  There are commands for negative thin, thin, 
  1681. medium, and thick amounts of whitespace, and additional commands for 
  1682. inserting the traditional typesetter's quad (1em) and double quad.  
  1683. Arbitrary horizontal whitespace, defined via \LaTeX's \cmd{hspace} 
  1684. command, and vertical whitespace via \cmd{vspace}, may also be 
  1685. inserted from the \amenu{Spacing} submenu.  \LaTeX's ``fill'' commands 
  1686. will also be found on this submenu, as well as \cmd{smallskip}, 
  1687. \cmd{medskip}, and \cmd{bigskip}.
  1688.  
  1689. \section{The \amenu{mark} menu}
  1690.  
  1691. The pop-up menu activated by pressing the ``\{\}'' icon on the tool bar 
  1692. at the right of each window is called the \amenu{mark} menu.  In \TeX\ 
  1693. mode (and other modes as well), the mark menu gives an outline of the 
  1694. current document and provides a way to quickly navigate a long file.  
  1695. Simply press the ``\{\}'' icon and choose the \acmd{Mark File} command.  
  1696. The contents of the current document will be scanned and the titles of 
  1697. all chapters, sections, and subsections will be placed on the mark 
  1698. menu.  Files that are \cmd{include}'d or \cmd{input}'ed will also 
  1699. appear on the \amenu{mark} menu.
  1700.  
  1701.  
  1702. \chapter{Command Keys}
  1703.  
  1704. Menus are great at first, but eventually the tendency is to move away 
  1705. from menus towards commands keys.  This can significantly speed the 
  1706. input process.  Few of us, however, are inclined to memorize more than 
  1707. a couple dozen such keystrokes unless continually prompted with 
  1708. reminders.  Thus most command key equivalents are displayed on the 
  1709. \LaTeX\ menu in full view.
  1710.  
  1711. \section{Tips}
  1712. \label{sec:keys}
  1713.  
  1714. A few remarks will help you remember the many command key sequences.  
  1715. All paragraph mode commands (\cmd{textbf}, \cmd{footnote}, etc.)  
  1716. begin with \key{Ctl Opt} or \key{Shf Ctl Opt}, whereas all math mode 
  1717. commands begin with \key{Ctl Cmd} or \key{Ctl Opt Cmd}.  All 
  1718. environments are bound to some modified function key.  Sometimes the 
  1719. \key{Shf} key reverses the orientation of an existing key (as in the 
  1720. case of \acmd{Next Tab Stop} and \acmd{Prev Tab Stop} described in 
  1721. section~\ref{sec:gotoSubmenu}) or acts as a selection key (see, for 
  1722. example, \acmd{Next Environment} and \acmd{Next Environment Select} in 
  1723. section~\ref{sec:gotoSubmenu}).  Knowing these simple facts helps 
  1724. tremendously.
  1725.  
  1726. See section~\ref{sec:docs} for pointers to useful command key summaries.
  1727.  
  1728. \section{Double-clicking}
  1729. \label{sec:dblClicking}
  1730.  
  1731. The arguments of certain \LaTeX\ commands are 
  1732. command-double-clickable, that is, you hold down the \key{Cmd} key 
  1733. while double-clicking the argument of certain \LaTeX\ commands.  
  1734. These commands are underlined and therefore easily recognized in 
  1735. your document.  When you command-double-click the required argument 
  1736. of a \cmd{ref} command, for example, the cursor jumps to the 
  1737. corresponding \cmd{label}.  (Note: Press \key{Ctl .} to return to 
  1738. the original cursor position.)  Similarly, when you cmd-dbl-click 
  1739. the required argument of a \cmd{cite} command, the cursor jumps to 
  1740. the corresponding \cmd{bibitem} if the document contains a 
  1741. \env{thebibliography} environment; otherwise, the arguments of a 
  1742. \cmd{bibliography} command are sequentially searched until the 
  1743. \filetype{bib} file containing the target item is found.  This 
  1744. \filetype{bib} file is then opened and the cursor jumps to the 
  1745. target item.
  1746.  
  1747. \textbf{Tip:} By default, \cmd{ref}, \cmd{pageref}, \cmd{cite}, and 
  1748. \cmd{nocite} commands are cmd-dbl-clickable.  If you use a package 
  1749. that defines other \cmd{ref}-like or \cmd{cite}-like commands, modify 
  1750. the \TeX\ mode variables \acmd{refCommands} or \acmd{citeCommands} 
  1751. discussed in section~\ref{sec:variables}.
  1752.  
  1753. Other \LaTeX\ commands may also be command-double-clicked, for 
  1754. example, \cmd{input}, \cmd{include}, \cmd{includegraphics} (or rather 
  1755. the commands specified in the \TeX\ mode variable \acmd{boxMacroNames} 
  1756. mentioned in section~\ref{sec:variables}), \cmd{bibliography}, 
  1757. \cmd{usepackage}, and \cmd{documentclass}.  Note that the required 
  1758. arguments of these commands are files, and so command-double-clicking 
  1759. such an argument opens the corresponding file.  Unless the filename 
  1760. includes a Macintosh path (which is not recommended, since it's not 
  1761. portable), the current folder is searched first.  If the file is not 
  1762. found in the current folder, the algorithm next checks the hierarchy 
  1763. of folders under the user-specified ``TeX Inputs Folder'', which is 
  1764. optionally set by choosing \acmd{App Paths} on the \amenu{Config} menu.  
  1765. If the file is still not found, all folders whose name contains the 
  1766. string ``inputs'' in the \TeX\ application folder are checked next.  
  1767. For example, all folders in the \TeX\ folder with names such as 
  1768. \filespec{TeX-inputs}, \filespec{TeX-inputs2}, and 
  1769. \filespec{My-TeX-inputs} will be searched.
  1770.  
  1771. \textbf{Tip:} A command-double-click operation may be simulated with a 
  1772. keystroke.  With the cursor inside the required argument of a 
  1773. cmd-dbl-clickable \LaTeX\ command, press \key{F6} to activate the 
  1774. algorithm.
  1775.  
  1776. \Alpha\ has another modified double-click that will be of interest 
  1777. to \LaTeX\ users.  You may already know that double-clicking a 
  1778. delimiter (parenthesis, bracket, or brace) selects the text between 
  1779. it and its matching delimiter.  Moreover, if you hold down the 
  1780. \key{Ctl} key while double-clicking a delimiter, the text \emph{and} 
  1781. the delimiters will be selected.  These commands are very handy for 
  1782. cutting and pasting blocks of delimited text, especially in a 
  1783. \LaTeX\ document where braces, for example, run rampant.
  1784.  
  1785.  
  1786. \end{document}
  1787. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1788.